// global
html, body, #app {
  height: 100%;
}

body {
  margin: 0;
  height: 100%;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:root{
  --header-height: 60px;
  --side-padding: 32px;
}

// flex
.flex {
  display: flex;
  align-items: center;

  &.left {
    justify-content: flex-start
  }

  &.right {
    justify-content: flex-end
  }

  &.center {
    justify-content: center
  }

  &.between {
    justify-content: space-between
  }

  &.around {
    justify-content: space-around
  }

  &.top {
    align-items: flex-start
  }

  &.bottom {
    align-items: flex-end
  }

  &.wrap {
    flex-wrap: wrap
  }

  &.column{
    flex-direction: column;
  }

  .flex-item {
    flex: 1;
  }

  .flex-none {
    flex: none;
  }
}

.g-container {
  padding: 12px;
  &.no-padding{
    padding: 0;
  }
  .g-content {
    padding: 20px;
    border-radius: 5px;
    background: #FFF;
    &.pt-0{
      padding-top: 0;
    }
    &.pb-0{
      padding-bottom: 0;
    }
    &+.g-content{
      margin-top: 10px;
    }

    &.bordered{
      border: 1px solid #EFEFF5;
    }
    &.is-hidden{ overflow: hidden;}
  }

  .g-tools{ padding: 0 20px; }

  .g-button {
    margin-bottom: 10px;
  }
}

.ellipsis-2{
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  word-break: break-all;
}

.ellipsis{
  text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-box;
  display: -moz-box;
  white-space: pre-wrap;
  word-break: break-all;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.text-base{
  font-size: 14px;
}
.text-sm{
  font-size: 12px;
}
.text-lg{
  font-size: 16px;
}

.ml-5{
  margin-left: 5px;
}
.ml-10{
  margin-left: 10px;
}
.ml-20{
  margin-left: 20px;
}

.mr-5{
  margin-right: 5px;
}
.mr-10{
    margin-right: 10px;
}
.mr-20{
    margin-right: 20px;
}

.mt-5{
  margin-top: 5px;

}
.mt-10{
  margin-top: 10px;
}
.mt-20{
  margin-top: 20px;
}

.mb-5{
  margin-bottom: 5px;
}
.mb-10{
  margin-bottom: 10px;
}
.mb-20{
  margin-bottom: 20px;
}

.icon__hot,
.icon__new{
  line-height: 12px;
  font-size: 12px;
  text-align: center;
  padding: 2px 4px;
  color: #ffffff;
  border-radius: 4px;
  background: linear-gradient(270deg, #296BEF 0%, #7AF7FF 100%);
}
.icon__hot{ background: linear-gradient(270deg, #FD494D 0%, #FDAA29 100%);}
